package com.dz.lm.service.product;

import com.dz.lm.common.dto.ProductDTO;
import com.dz.lm.common.exception.ServiceException;

import java.util.List;
import java.util.Map;


public interface ProductService {

	List<Map<String, Object>> qryLocalList() throws ServiceException;
	
	Map<String, Object> homeProductList(Map<String, Object> qryParam) throws ServiceException;
	
	Map<String, Object> siftingSearch(Map<String, Object> qryParam) throws ServiceException;
	
	Map<String, Object> agentProductList(Map<String, Object> qryParam) throws ServiceException;
	
	Map<String, Object> qryProductInfoByProductId(Map<String, Object> qryParam) throws ServiceException;
	
	List<ProductDTO> listHotProducts();
	
	ProductDTO selectByPrimaryKey(Map<String, Object> param) throws ServiceException;

    List<ProductDTO> listProducts(byte status);

    List<ProductDTO> listSelectedProducts();
    
    int addNeeds(Map<String, Object> qryParam) throws ServiceException;
    
    int addProduct(Map<String, Object> qryParam) throws ServiceException;
    /**
     * 可发布产品列表
     * @return
     * @throws ServiceException
     */
    List<Map<String, Object>> releasableProducts(Map<String, Object> qryParam) throws ServiceException;
    Map<String, Object> qryByParentId(Map<String, Object> param) throws ServiceException;
    Map<String, Object> qryAgentProduct(Map<String, Object> param) throws ServiceException;
    Map<String, Object> qryByParentId(Integer productId) throws ServiceException;
    Map<String, Object> applyProductAgent(Map<String, Object> param) throws ServiceException;
    
    int updateAgentProduct(Map<String, Object> param) throws ServiceException;
    
    int modifyNeeds(Map<String, Object> qryParam) throws ServiceException;
    
    int modifyProduct(Map<String, Object> qryParam) throws ServiceException;
}
